1
Concevoir pour la concurrence : Le cadre à cinq questions
AI019Lesson 9
00:00

Concevoir pour la concurrence en Elixir va bien au-delà du simple lancement de processus ; il exige une méthode rigoureuse pour atteindre 99,9999999 % de fiabilité (neuf neufs). Cela équivaut à environ 1 seconde d'indisponibilité tous les 30 ans. Pour atteindre cette norme, nous utilisons le cadre à cinq questions.

L'heuristique structurelle

Avant d'écrire une seule ligne de code OTP, utilisez ces questions pour décomposer les problèmes étatiques en primitives gérables :

  • Environnement et contraintes : S'agit-il d'un seul nœud ? D'un cluster mondial ? Quelles sont les limites mémoire / E/S ?
  • Points focaux : Où les données résident-elles ? Qui « détient » l'état (par exemple, un registre des résultats) ?
  • Caractéristiques d'exécution : Combien de requêtes simultanées ? Sont-elles limitées par le processeur ou par les entrées/sorties ?
  • Protection : Quel état doit survivre ? Que pouvons-nous permettre de perdre et de redémarrer ?
  • Initialisation : Comment initialisons-nous l'arbre ? Quels services dépendent des autres ?
99,9999999%FIABILITÉENVIRONNEMENTPOINTS FOCALISÉSEXÉCUTIONPROTECTIONEXÉCUTION

En traitant ces questions comme des contraintes, vous évitez la concurrence « Big Ball of Mud », où chaque processus communique avec tous les autres sans hiérarchie claire.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>